//
//  NSSearchDescriptor.h
//  CloudDoctor
//
//  Created by weida on 15/4/18.
//  Copyright (c) 2015年 ZhongKeYun. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface NSSearchDescriptor : NSObject

/**
 *  @brief  是否大小写敏感，默认YES
 */
@property(nonatomic,assign)BOOL  caseSensitivity;

/**
 *  @brief  是否作为一个整体搜索，默认是YES，如果为NO，如果关键字中有空格，那么将作为多个关键字进行搜索，
 *     此选项和asWhole冲突，开启一个，另一个自动失效
 */
@property(nonatomic,assign)BOOL    asWholeSearch;

/**
 *  @brief  是否自动忽略空格符，默认NO,注意，此选项和asWhole冲突，开启一个，另一个自动失效
 */
@property(nonatomic,assign)BOOL    ignoreSpaceCharacter;

/**
 *  @brief  自动将中文转换成拼音，默认是NO,开启此选项后导致输入拼音字母也能搜索中文
 */
@property(nonatomic,assign)BOOL     AutoTransfromChineseToPinyin;

/**
 *  @brief  把key作为正则表达式进行匹配，默认NO
 */
@property(nonatomic,assign)BOOL     regularExpressionSearch;

/**
 *  @brief  初始化一个搜索描述
 *
 *  @param keyPath 需要被搜索的字段路径
 *  @param key     搜索关键字
 *
 *  @return 搜索描述实例
 */
- (instancetype)initWithKeyPath:(NSString *)keyPath Key:(NSString*)key;

/**
 *  @brief  实例化一个搜索描述
 *
 *  @param keyPath 需要被搜索的字段路径
 *  @param key     搜索关键字
 *
 *  @return 搜索描述实例
 */
+ (instancetype)searchDescriptorWithKeyPath:(NSString *)keyPath Key:(NSString*)key;

@end
